package controller

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

//此文件封装的是返回前端的函数

//定义返回前端的数据
type ResponseData struct {
	Code    MyCode      `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data"`
}

//处理错误的时候的返回
func ResponseError(ctx *gin.Context, code MyCode) {
	rd := &ResponseData{
		Code:    code,
		Message: GetMsg(code),
		Data:    nil,
	}
	ctx.JSON(http.StatusOK, rd)
}

//正确处理的时候的返回
func ResponseSuccess(ctx *gin.Context, data interface{}) {
	rd := &ResponseData{
		Code:    CodeSuccess,
		Message: GetMsg(CodeSuccess),
		Data:    data,
	}
	ctx.JSON(http.StatusOK, rd)
}

//返回错误代码和消息
func ResponseErrorWithMsg(ctx *gin.Context, code MyCode, errMsg string) {
	rd := &ResponseData{
		Code:    code,
		Message: errMsg,
		Data:    nil,
	}
	ctx.JSON(http.StatusOK, rd)
}
